| Total Complexity | 2 | 
| Total Lines | 23 | 
| Duplicated Lines | 0 % | 
| Changes | 0 | ||
| 1 | import { MigrationInterface, QueryRunner } from 'typeorm'; | 
            ||
| 2 | |||
| 3 | export class CreateNotificationTable1717147942177  | 
            ||
| 4 |   implements MigrationInterface { | 
            ||
| 5 | name = 'CreateNotificationTable1717147942177';  | 
            ||
| 6 | |||
| 7 |   public async up(queryRunner: QueryRunner): Promise<void> { | 
            ||
| 8 | await queryRunner.query(  | 
            ||
| 9 |       `CREATE TYPE "public"."notification_type_enum" AS ENUM('post', 'comment', 'reaction')` | 
            ||
| 10 | );  | 
            ||
| 11 | await queryRunner.query(  | 
            ||
| 12 |       `CREATE TABLE "notification" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "type" "public"."notification_type_enum" NOT NULL, "resourceId" character varying NOT NULL, "message" character varying NOT NULL, "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "leaveRequestId" uuid, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))` | 
            ||
| 13 | );  | 
            ||
| 14 | await queryRunner.query(  | 
            ||
| 15 |       `ALTER TABLE "notification" ADD CONSTRAINT "FK_d7dcd7fa90cc4542719b880bc7f" FOREIGN KEY ("leaveRequestId") REFERENCES "leave_request"("id") ON DELETE SET NULL ON UPDATE NO ACTION` | 
            ||
| 16 | );  | 
            ||
| 17 | }  | 
            ||
| 18 | |||
| 19 |   public async down(queryRunner: QueryRunner): Promise<void> { | 
            ||
| 20 | await queryRunner.query(  | 
            ||
| 21 | `ALTER TABLE "notification" DROP CONSTRAINT "FK_d7dcd7fa90cc4542719b880bc7f"`  | 
            ||
| 22 | );  | 
            ||
| 23 | await queryRunner.query(`DROP TABLE "notification"`);  | 
            ||
| 24 | await queryRunner.query(`DROP TYPE "public"."notification_type_enum"`);  | 
            ||
| 25 | }  | 
            ||
| 27 |